/*
 * FSWUniCEUB - 2008
 * 
 * Este arquivo é de propriedade da Fábrica de Software do UniCEUB
 * 
 * Para mais informações entre em contato com a coordenação do
 * curso de Ciência da Computação da instituição.
 */

package br.uniceub.fsw.indicadores.vo;

import br.uniceub.fsw.indicadores.dao.TipoObjetivoDAO;

/**
 * Value Object da entidade Objetivo do módulo de Objetivoes.
 * 
 * Tabela: TB_Objetivo
 *
 * @author Marcos Mello Nobrega Soares ra20136178
 */
public class ObjetivoVO {
    
    /**
     * Coluna: ID_Objetivo
     */
    private Integer idObjetivo;
    
    /**
     * Coluna: NO_Objetivo
     */
    private String noObjetivo;
    
    /**
     * Coluna: DS_Objetivo
     */
    private String dsObjetivo;
    
    /**
     * Tabela referenciada: TT_TipoObjetivo
     * Coluna FK: CD_TipoObjetivo
     */
    private Integer cdTipoObjetivo;
    
    /**
     * TipoObjetivo relacionado pela coluna cdTipoObjetivo.
     */
    private TipoObjetivoVO tipoObjetivo;
    
     /**
     * Coluna: ST_ObjetivoAtivo
     */
    private String stObjetivoAtivo;
    
    /*
     * Getters e Setters.
     */    

    public Integer getCdTipoObjetivo() {
        return cdTipoObjetivo;
    }

    public void setCdTipoObjetivo(Integer cdTipoObjetivo) {
        this.cdTipoObjetivo = cdTipoObjetivo;
    }

    public String getDsObjetivo() {
        return dsObjetivo;
    }

    public void setDsObjetivo(String dsObjetivo) {
        this.dsObjetivo = dsObjetivo;
    }

    public Integer getIdObjetivo() {
        return idObjetivo;
    }

    public void setIdObjetivo(Integer idObjetivo) {
        this.idObjetivo = idObjetivo;
    }

    public String getNoObjetivo() {
        return noObjetivo;
    }

    public void setNoObjetivo(String noObjetivo) {
        this.noObjetivo = noObjetivo;
    }
 
    public void setTipoObjetivo(TipoObjetivoVO tipoObjetivo) {
        this.tipoObjetivo = tipoObjetivo;
    }
    
    public String getStObjetivoAtivo() {
        return stObjetivoAtivo;
    }

    public void setStObjetivoAtivo(String stObjetivoAtivo) {
        this.stObjetivoAtivo = stObjetivoAtivo;
    }
    
    public TipoObjetivoVO getTipoObjetivo() {
        
        if(this.tipoObjetivo == null) {
            this.tipoObjetivo = new TipoObjetivoDAO().consultarPorId(this.cdTipoObjetivo);
        }
        
        return tipoObjetivo;
    }    
}
